home *** CD-ROM | disk | FTP | other *** search
/ Aminet 1 (Walnut Creek) / Aminet - June 1993 [Walnut Creek].iso / aminet / util / virus / virusz35.lha / VirusZ / Docs / VirusZ.doc < prev    next >
Text File  |  1980-01-01  |  43KB  |  858 lines

  1.  
  2.                           | 
  3.          ·` __/   _     --+--
  4.         /| / /`\ /(____   |  .   . __|__   _    \/_________. - - ----- --- --
  5.   ·/\  / | \/__/ \  __ \ ·   I\_/I   /\____)\   /\   _   °/  ---- -- --- - -
  6.   |°|  |!| /___` |\ II  \|\_/|·  |  /°  __  /     \  /   /  - c0nt®0[/aTz -
  7.   | |  | I | //| |  __ /`|   |i /i  \_   \_/       \/·  //\ ------    -
  8.   | I\/  / |//·|/   || \ |   I:  I /\ \  \\       \//  /~  \  - --      
  9.   \    `// |// |    ||  \I   ^  /|/  \~\  \\  _|_ //        \
  10.    \_.\/// |/_/|___°I|_°/ \____/_|\._______/   | /________/°/ Ve®$i0n 3.o5
  11.      \/       \/                                     \
  12.                                                       \
  13.  
  14.  
  15.  
  16.                       SOME NOTES CONCERNING LAW AND ORDER
  17.                       -----------------------------------
  18.  
  19.     1. Copyright
  20.     ------------
  21.     The entire VirusZ package is written and copyright © 1991,1992,1993  by
  22.     Georg Hörmann  with  exception  of  the  reqtools.libraries  which  are
  23.     written and copyright © by Nico François who gave the permission to use
  24.     the libraries  and installation  scripts  in any  freely  distributable
  25.     software package.
  26.  
  27.     2. Disclaimer
  28.     -------------
  29.     The executionable and non-executionable parts of this software  package
  30.     may NOT  be altered by any means (this includes editing, reprogramming,
  31.     crunching, and resourceing), except archiving. The author is in NO  way
  32.     liable for any changes made to any part of the package, or consequences
  33.     thereof as he is in NO way liable for damages or loss of data  directly
  34.     or indirectly caused by this software.
  35.  
  36.     3. Distribution
  37.     ---------------
  38.     Neither fees may  be charged nor  profits may be  made by  distributing
  39.     this piece of software. Only a  nominal fee for cost of magnetic  media
  40.     may be acceptable, the amount of US $6 shouldn't be exceeded for a disk
  41.     containing VirusZ. Outside  a single machine  environment, you are  NOT
  42.     allowed to reproduce only  some parts of the  package, but you have  to
  43.     copy it completely. See this list of contents for verification:
  44.  
  45.              VirusZ (dir)
  46.                DLD (dir)
  47.                  DLD
  48.                  DLD.doc
  49.                  DLD.dok
  50.                  Library.doc
  51.                Docs (dir)
  52.                  Brain.doc
  53.                  Brain.doc.info
  54.                  VirusZ.doc
  55.                  VirusZ.doc.info
  56.                  VirusZ.history
  57.                  VirusZ.history.info
  58.                  VZBE.doc
  59.                  VZBE.doc.info
  60.                Libs (dir)
  61.                  decrunch.library
  62.                  reqtools.library.13
  63.                  reqtools.library.20
  64.                S (dir)
  65.                  VirusZ.brain
  66.                Docs.info
  67.                Install
  68.                Install.info
  69.                Install.script
  70.                VirusZ
  71.                VirusZ.info
  72.                VZBE
  73.                VZBE.info
  74.              VirusZ.info
  75.  
  76.     Note that the original package was released as 'VirusZ305.lha' archive.
  77.     If any parts were already missing when you received this package,  look
  78.     out for another source to get your software in future.
  79.  
  80.     4. Shareware
  81.     ------------
  82.     VirusZ is no longer Freeware, but  Shareware. This means you are  still
  83.     allowed to copy the software freely, but  you have to pay a fee to  the
  84.     author if you use VirusZ regularly. Not paying your fee is both immoral
  85.     and illegal. If you  already have registered  for any former  releases,
  86.     paying the fee  again is optional.  Suggested donation is  DM 20 or  an
  87.     equivalent amount  in any  other currency.  Anything else  will not  be
  88.     accepted. By now,  I had more  expense than profit  by sending all  you
  89.     folks your disks back etc.  If you want me  to continue my work,  don't
  90.     try to cheat me.
  91.     Submissions with new material  (viruses/crunchers) are welcome. If  you
  92.     want your disks back, either enclose enough money for postage or German
  93.     stamps. If you send me useful stuff, you will additionally receive  the
  94.     latest update  of VirusZ  on your  disk. Contact  me at  the  following
  95.     address:                                                               
  96.  
  97.                                  Georg Hörmann
  98.                              Am Lahnewiesgraben 19
  99.                           8100 Garmisch-Partenkirchen
  100.                                     Germany
  101.  
  102.  
  103.                             !!! IMPORTANT NOTE !!!
  104.                             ----------------------
  105.  
  106.     Please do NOT send me any disks until July 1993, or you'll have to wait
  107.     several months for them. I'm going to write my final exams in  May/June
  108.     and therefore have to learn lots of  stuff until then. I don't know  if
  109.     there will be enough  time to update VirusZ  regularly, and I hope  you
  110.     understand this. Thank you.
  111.     Starting with  July 1st,  1993, the  German Bundespost  introduces  new
  112.     postcodes. My new address will then be the following:
  113.  
  114.                                  Georg Hörmann
  115.                              Am Lahnewiesgraben 19
  116.                      -->  82467 Garmisch-Partenkirchen  <--
  117.                                     Germany
  118.  
  119.     You may use the old address as long  as you want, but the new one  will
  120.     speed up delivery. Don't use the new postcode before July 1993.
  121.  
  122.  
  123.                   !!! IMPORTANT NOTE FOR REGISTERED USERS !!!
  124.                   -------------------------------------------
  125.  
  126.     I will no longer offer the  update service for registered users. I  had
  127.     nothing but trouble in the past with sending dozens of disks around the
  128.     world. Some  versions of  VirusZ always  showed some  bugs right  after
  129.     releasing them. If I release the  latest versions on BBS boards and  PD
  130.     disks only, the risk of losing a lot of money isn't that high as it  is
  131.     if I have to send all bugged updates twice. This becomes too expensive.
  132.     I know  that it's  not your  fault when  I make  mistakes, but  it's  a
  133.     difference between  updating an  text editor  and a  virus killer.  The
  134.     editor will be updated 1 or 2 times a year, but new versions of a virus
  135.     killer have to be released at least every 4th week. Errare humanum est.
  136.  
  137.  
  138.                                  INTRODUCTION
  139.                                  ------------
  140.  
  141.     1. VirusZ Philosophy
  142.     --------------------
  143.     VirusZ is another try to  make the perfect viruskiller. Although  there
  144.     are already hundreds of killers, none had to offer the, in my  opinion,
  145.     most important features. These  are to be short,  fast and not to  keep
  146.     the user from working by opening a big screen with hundreds of  gadgets
  147.     or locking the drives. If you like that type of killer, forget VirusZ.
  148.  
  149.     2. Why Use VirusZ?
  150.     ------------------
  151.     VirusZ has been  tested on  Kickstart 1.2/1.3, OS  2.0 and  OS 3.0  and
  152.     worked just fine.  It offers several  OS 2.0 features  even under  Kick
  153.     1.2/1.3 like gadget activation via  keyboard. All windows use the  full
  154.     screen size, have a built-in Topaz 8 font to prevent any trouble, bring
  155.     themselves to the front when started and set up a wait pointer for  the
  156.     other windows. Windows always support the screen font (up to size 124!)
  157.     in the menu/title bar. VirusZ recognizes over 200 bootblock viruses and
  158.     the filechecker not  only detects  over 100 file viruses,  but it  also
  159.     offers you the unbelieveable feature of decrunching files. The boot lab
  160.     offers all  important bootblock  operations on  one screen.  The  whole
  161.     software is written 100% in assembly language for lightning speed.  The
  162.     memory checker  removes all  known viruses  from memory  without  'Guru
  163.     Meditation' and checks memory for viruses regularly. VirusZ has easy to
  164.     use intuitionized  menus  including  keycuts  for  both  beginners  and
  165.     experienced users. It performs a self-test on every startup to  prevent
  166.     link virus infection. VirusZ works in the background and uses less than
  167.     0.5% of your processing time (use Xoper to verify). Last but not least,
  168.     VirusZ is regularly  updated and  hence offers  you perfect  protection
  169.     against the latest viruses. Starting with 3.00, you have the ability to
  170.     learn your own bootblocks via the VirusZ Brain Editor VZBE.
  171.  
  172.  
  173.                                 GETTING STARTED
  174.                                 ---------------
  175.  
  176.     1. For The Very First Time
  177.     --------------------------
  178.     VirusZ requires  the 'reqtools.library'  in  order to  work  correctly.
  179.     Included in this  package are two  versions of the  'reqtools.library',
  180.     one for Kick 1.3 and one for OS 2.0. Chose the one that fits with  your
  181.     OS, copy it  to the 'libs:'  drawer of  your boot disk  and remove  the
  182.     suffix (simply  rename it).  If you  don't  want to  do the  copy  work
  183.     yourself, click on the 'Install'  icon from WorkBench. This will  start
  184.     an installation script. If you want to use the decrunch feature, you'll
  185.     additionally need the 'decrunch.library'.
  186.  
  187.     2. If You Already Have Used VirusZ 
  188.     ----------------------------------
  189.     Make sure  that you  copy the  latest library  versions to  your  libs:
  190.     drawer. Also verify the  settings in the prefs  menu if you have  saved
  191.     them with an old VirusZ version because versions higher than 3.00 use a
  192.     new preferences file format. Copy the brainfile to your s: directory or
  193.     change the prefs to the correct path.
  194.  
  195.     3. The First Step To Glory
  196.     --------------------------
  197.     Starting VirusZ is nothing more than  typing its name to any  CLI/Shell
  198.     or double-clicking its icon from  WorkBench. There are several  message
  199.     alerts included in the startup module.  If anyone of these flashes  up,
  200.     there is something wrong. These alerts are self explaining so we skip a
  201.     detailed  description.  If  the  'VirusZ's  hunk  structure  has   been
  202.     modified!' alert comes up, your copy  of VirusZ might be infected by  a
  203.     virus or might  have been crunched  with a bad  cruncher (in fact  most
  204.     crunchers are bad).
  205.     Starting with VirusZ 3.03, you have  the ability to use VirusZ in  your
  206.     own Shell scripts. Simply type
  207.  
  208.        1> VirusZ <filename>
  209.  
  210.     and VirusZ  will try  to read  the  specified file  and checks  it  for
  211.     viruses. VirusZ will print a  message with information about the  file.
  212.     Additionally you receive one of the  following return codes for use  in
  213.     scripts:                                                               
  214.  
  215.         OK  (0)   File is executable or data and no virus was found.
  216.       WARN  (5)   File contains a virus (see message).
  217.      ERROR (10)   An error occured while checking the file (see message).
  218.  
  219.     4. How To Use ReqTools Requesters
  220.     ---------------------------------
  221.     VirusZ uses three types of  ReqTools requesters: Requests asking for  a
  222.     decision, Information Requesters informing you about something and File
  223.     Requesters to select files/drawers.  You can satisfy  them not only  by
  224.     clicking their gadgets, but also via shortcuts. These are:
  225.        Positive Response: <Y>, <RETURN>, <LAMIGA><V>, underscored character
  226.        Negative Response: <N>, <ESC>, <LAMIGA><B>, underscored character
  227.     The positive gadget is the leftmost always printed in bold, whereas the
  228.     negative is the rightmost.
  229.  
  230.  
  231.                               AUTOMATIC FEATURES
  232.                               ------------------
  233.  
  234.     1. General Information
  235.     ----------------------
  236.     VirusZ does  lots of  things in  the background  which you  will  never
  237.     notice until  there  is something  wrong.  All the  automatic  features
  238.     described below will only work if no other VirusZ windows are currently
  239.     open. Read the preferences chapter below  if you want to customize  any
  240.     of the following functions.
  241.  
  242.     2. The Bootblock Check
  243.     ----------------------
  244.     Every  disk  inserted  will  be  checked  for  bootblock  viruses   and
  245.     non-standard bootcode. This  ensures that your  bootblocks stay  clean.
  246.     Every known virus will cause a request  asking you what to do. You  can
  247.     either go to the  bootblock lab or ignore  it. The last possibility  is
  248.     not recommended. If your disk contains anything else than a virus or  a
  249.     standard bootblock, it will be  checked for bootblocks contained in  an
  250.     external bootblock brainfile.  If the bootblock  cannot be  identified,
  251.     VirusZ first  compares its  checksum. If  this is  not correct,  VirusZ
  252.     simply ignores it because  it wouldn't be executed  anyway. But if  all
  253.     conditions are met,  the bootblock  will be reported  as unknown.  This
  254.     might happen  with most  bootload games  or demos,  so do  NOT  install
  255.     anything you don't know.  You might trash the  program that depends  on
  256.     this boot.  But  if you  are  sure that  it's  a new  virus,  save  the
  257.     bootblock (you can use VirusZ for this) install the original  bootblock
  258.     and send me the copy for inclusion in VirusZ.
  259.  
  260.     3. The Disk-Validator Check
  261.     ---------------------------
  262.     This is executed additionally  to the bootblock check  when a new  disk
  263.     has been inserted. The  Disk-Validator will be  loaded and checked  for
  264.     virus infection. Currently 2 basic viruses (and several strains) infect
  265.     the Disk-Validator.  These  are the  Saddam  and Return  of  the  Lamer
  266.     Exterminator viruses. If a virus is found, a request appears where  you
  267.     can delete the Disk-Validator or  continue (not recommended). Then  you
  268.     have to copy a clean Disk-Validator to  the L drawer of the disk. I  am
  269.     not allowed to include the Disk-Validator in VirusZ because it is ©  by
  270.     Commodore.                                                             
  271.     NOTE: With OS 2.0, you don't have to replace the deleted Disk-Validator
  272.           because it is located in the ROM.
  273.  
  274.     4. The Virus & Vector Check in Memory
  275.     -------------------------------------
  276.     This is the real memory check looking for known viruses. It's  executed
  277.     once on startup,  and whenever  VirusZ finds a  virus, you  will get  a
  278.     request telling  you  which  virus was  removed.  VirusZ  removes  them
  279.     automatically. Viruses will not only  be patched or disabled, but  they
  280.     will be  removed from  memory completely.
  281.     After looking  around for  known  viruses, the  reset vectors  will  be
  282.     checked. If any of  them are set  by an unknown  program, you will  get
  283.     directly to the 'VirusZ  Vector Check'. See  a detailed description  of
  284.     this in the vector check chapter below.
  285.     In addition  to the  startup memory  check, VirusZ  repeats the  memory
  286.     check regularly. The time passed between  two checks can be changed  by
  287.     the user, default is  10 seconds. This  is the safest  way to find  and
  288.     remove file- and  linkviruses in  memory. These viruses  can appear  in
  289.     memory any  time  an infected  file  is executed.  So  whenever  VirusZ
  290.     reports a virus in memory, check the disks you are working with at  the
  291.     moment for infection. Note that the time passed between two checks will
  292.     be slightly shorter on NTSC machines  since VirusZ is PAL oriented  and
  293.     works with 50Hz.
  294.     NOTE: VirusZ will no longer delete all Resident Modules when it removes
  295.           a virus from memory. You still can find your recoverable RAM-Disk
  296.           after resetting as if nothing has happened. The only reason for a
  297.           lost RAM-Disk can be the virus that has been removed.
  298.  
  299.  
  300.                               USING VIRUSZ'S MENU
  301.                               -------------------
  302.  
  303.     To use all other features offered by VirusZ, you have to use menu items
  304.     to call the corresponding functions. These can only be used if VirusZ's
  305.     window is active. Note that the background features won't work as  long
  306.     as any other windows are opened  (which is the case with all  functions
  307.     called via menu).
  308.  
  309.     1. Check Files
  310.     --------------
  311.     See a description of the file check in one of the next chapters.
  312.  
  313.     2. Check Sectors
  314.     ----------------
  315.     The sector checker makes it possible  to scan a whole device for  virus
  316.     corruption. First you'll get a small selector for the device to  check.
  317.     Ok and Cancel should be clear, Refresh tells VirusZ to free its  device
  318.     list made on startup and rebuild a new one. This is needed if you mount
  319.     a device when  VirusZ is already  running. The selector  gadget in  the
  320.     middle works exactly like  a standard OS 2.0  gadget, but is  simulated
  321.     with Kick  1.3 means.  If you  click on  it, the  next device  will  be
  322.     selected, if you press <SHIFT>  while clicking, the previous device  is
  323.     selected. You certainly can also use the shortcuts by pressing the keys
  324.     that correspond with the underlined characters. If you made your choice
  325.     and clicked Ok, the main display  appears. It is divided in two  parts.
  326.     The small box at the top is  a progress indicator which will be  filled
  327.     from the  left to  the  right while  checking,  thus telling  you  what
  328.     percentage of the device  is already checked. The  big box is the  text
  329.     display which contains all information  about the current status.  Here
  330.     you'll get all messages  if VirusZ finds anything  that's not ok.  Note
  331.     that the sector checker  will repair damages  without asking, i.e.  you
  332.     have to unprotect your disks before checking. If you don't want to have
  333.     any corrections, keep the  disk write protected.  The damage caused  by
  334.     the following viruses  will be recognized:  Saddam (5 versions),  Lamer
  335.     Exterminator (3  versions), Warsaw  Avenger, Fast  Eddie, Little  Sven,
  336.     Glasnost and Sachsen  3. The damage  caused by Saddam  and Little  Sven
  337.     will be repaired  (blocks will be  decrypted), the others  can only  be
  338.     detected. You can  pause and exit  checking at any  time by pressing  a
  339.     mouse button.
  340.     NOTE: With OS  2.0, the  recoverable RAM-Disk is  not initialized  when
  341.     mounted, but when you access  it the first time  via DOS. If you  check
  342.     the RAD: before accessing it, VirusZ will report a Saddam infection  on
  343.     sector 880. This happens because  the rootblock is not initialized yet.
  344.     It isn't really an infection.
  345.     NOTE 2: It is not recommended to use the sector checker with harddisks.
  346.     This is because the  possibility that a  virus-specific bunch of  bytes
  347.     appears in a text  file or a  program that is no  virus is much  higher
  348.     than on disks and damage of important files may be the result.
  349.  
  350.     3. Check Vectors
  351.     ----------------
  352.     See a description of the vector check in one of the next chapters.
  353.  
  354.     4. Bootblock Lab
  355.     ----------------
  356.     See a description of the bootblock lab in one of the next chapters.
  357.  
  358.     5. Preferences
  359.     --------------
  360.     See a description of the preferences in one of the next chapters.
  361.  
  362.     6. Load Brain
  363.     -------------
  364.     This function tries to load the brainfile specified in the preferences.
  365.     It will then be used to detect additional bootblocks.
  366.  
  367.     7. Clear Brain
  368.     --------------
  369.     Use this if you need the memory used by the brainfile. This function is
  370.     only available if there is already a brainfile in memory.
  371.  
  372.     8. About
  373.     --------
  374.     This displays some information about VirusZ. Simply click somewhere  in
  375.     the window to get rid of it.
  376.  
  377.     9. Quit VirusZ
  378.     --------------
  379.     Think twice and you'll figure out the function of this.
  380.  
  381.  
  382.                                   FILE CHECK
  383.                                   ----------
  384.  
  385.     1. Introduction
  386.     ---------------
  387.     In the early days  of the Amiga viruses,  nobody thought about file  or
  388.     even link viruses. A good virus killer had to display the bootblock and
  389.     check some vectors. But nowadays, the greatest danger doesn't come from
  390.     the bootblock,  but from  files.  Therefore this  file check  has  been
  391.     created to check  files for virus  infection. See a  list of all  known
  392.     viruses in the file 'Brain.doc'. This  file checker is quite unique  as
  393.     it offers some possibilities which  others lack. First it can  decrunch
  394.     files for checking, second it can remove all virus links from a file in
  395.     one step  where others  only remove  one link  after the  other.  These
  396.     features are made possible thanks to a great file buffering method  and
  397.     my own decrunch.library. If you have  to chose a checker, use mine  for
  398.     perfect checking:-)
  399.  
  400.     2. How To Use It
  401.     ----------------
  402.     First you have to select the path where files should be checked in  the
  403.     file requester. Therefore  the complete  path must be  included in  the
  404.     string gadget of the  requester. Click 'Ok' and  we start checking  all
  405.     files in the selected directory and its subdirs. You can skip  checking
  406.     subdirs by enabling the 'Skip Subdirectories' item in the prefs window.
  407.     The main window will  appear which is divided  in two parts. The  small
  408.     box at the top contains  the current path we  are checking in. The  big
  409.     box is the text window where all filenames will be listed with a  short
  410.     description.                                                           
  411.     VirusZ recognizes several types of  data files (such as archives  etc.)
  412.     and will print their names if  possible. Crunched files will appear  to
  413.     be reported as executables if  you haven't enabled the 'Check  Crunched
  414.     Files' item in the prefs window. Otherwise, they will be reported  with
  415.     the packer name  printed in bold.  Viruses are reported  by name  (blue
  416.     background, white characters) and will  cause a requester that  informs
  417.     you about the type of virus. You  may or may not remove the virus  from
  418.     the infected file.
  419.     You can abort/pause checking at any time by pressing any mouse button.
  420.  
  421.     3. Important Notes
  422.     ------------------
  423.     The linkvirus removal code is absolutely reliable as long  as the  file
  424.     isn't damaged  in  any way.  If  the  hunk structure  is  corrupted  or
  425.     anything else disables  removing, VirusZ  will say  'Can't remove'  and
  426.     then skip the file.
  427.     You should  note  that VirusZ  doesn't  use the  decrunch  feature  for
  428.     absolute crunchers, i.e.  for crunchers  that decrunch  their files  to
  429.     absolute addresses,  because  most  viruses  wouldn't  survive  such  a
  430.     crunching process anyway.
  431.     If you get a  message 'Can't load', this  file is either unreadable  or
  432.     you don't have enough memory.
  433.     VirusZ handles  the protection  bits  automatically, i.e.  saves  their
  434.     original contents, then  makes the file  readable/writable and  restore
  435.     them to  their originals  after checking.  This is  useful because  you
  436.     don't have to mess around with the Protect command in your Shell.
  437.     Whenever there comes  up a  system request "disk  is write  protected",
  438.     VirusZ tried  to  change  the  protection  bits.  This  access  is  not
  439.     dangerous, so it  would be best  if you make  your disks write  enabled
  440.     before checking.
  441.  
  442.     4. Additional Hints
  443.     -------------------
  444.     It may happen that a file is  first infected and then crunched. If  you
  445.     want to save the  cleaned file without having  it decrunched, check  it
  446.     again with decrunching disabled.
  447.  
  448.  
  449.                                  VECTOR CHECK
  450.                                  ------------
  451.  
  452.     1. Introduction
  453.     ---------------
  454.     Mostly all viruses work in the same manner. Either they make themselves
  455.     resident and/or  corrupt some  libraries or  devices with  their  code.
  456.     Therefore the vector check was designed to help you finding new viruses
  457.     that can't be recognized  directly by VirusZ yet.
  458.     Most of the  vectors and entrypoints  that will be  displayed are  only
  459.     interesting for programmers, so  I will try  to avoid any  explanations
  460.     that confuse the average user.
  461.  
  462.     2. Usage
  463.     --------
  464.     The vector check window is nothing more than one big display. It  stops
  465.     after every page and waits for  a mouse button. The left button  always
  466.     causes VirusZ  to continue  scrolling,  if the  last page  was  already
  467.     reached, the vector check  will be terminated. The  right button has  a
  468.     double function.  While scrolling,  you can  stop displaying  any  more
  469.     pages. Then, you are able to use the menu items attached to the  vector
  470.     check window.
  471.  
  472.     3. What Can I See From The Displayed Information?
  473.     -------------------------------------------------
  474.     Well, every vector has a short comment right of it. As long as you  can
  475.     read 'Ok' there, everything is fine. Then it might happen that you read
  476.     something like 'SetPatch 38.25', this  tells you that the changes  done
  477.     to this vector are ok, because  VirusZ recognized who did them. But  if
  478.     you read 'Please  Check', be alarmed.  In fact, most  of these  unknown
  479.     changes are  nothing more  than  an utility  like  the well  known  'PP
  480.     Patchers'. If you  have such an  utility and you  know the changes  are
  481.     caused by it, please send it to me for inclusion.
  482.  
  483.     4. The Vectors Menu
  484.     -------------------
  485.     Here you have the  possibility to clear the  reset vectors or to  cause
  486.     VirusZ to  show the  vector  check display  again. This  is  especially
  487.     useful if you found  some reset vectors set  and cleared them. Now  you
  488.     can verify the  changes without  leaving and calling  the vector  check
  489.     again. If the cleared  vectors are still set  after clearing them,  you
  490.     can be 99% sure you have a  new virus in your system. Keep cool,  check
  491.     the bootblocks first and  then try to detect  any file changes. If  you
  492.     find the virus, send it to me.
  493.     Note that the vector  check menu supports  multiselect (hold the  right
  494.     button and select several items with the left button).
  495.  
  496.  
  497.                                  BOOTBLOCK LAB
  498.                                  -------------
  499.  
  500.     1. A Short Introduction
  501.     -----------------------
  502.     The bootblock lab has been created because the old bootblock  functions
  503.     of VirusZ (some will remember the 'Bootblocks' menu) were quite  boring
  504.     and everything else but comfortable to use.
  505.     NOTE: Be careful with writing to/installing your HD!!! I'm not reliable
  506.           for your faults.
  507.  
  508.     2. The Device Gadget
  509.     --------------------
  510.     You can find it in the left top  corner of the window. Click on it  and
  511.     the next device will be displayed, use SHIFT and click on it to get the
  512.     previous device. You can also use character 'd' on the keyboard instead
  513.     of clicking with the mouse.
  514.  
  515.     3. The Mode Gadget
  516.     ------------------
  517.     This is the one in the top right corner. It toggles between ascii-  and
  518.     hex-dump mode. You  may use character 'm' to change the mode too.
  519.  
  520.     4. The Status Line
  521.     ------------------
  522.     Here you can see the name of the bootblock that is currently loaded  to
  523.     the buffer. If a function call fails or anything else happens, you will
  524.     get a report in this box too.
  525.  
  526.     5. The Scroll Gadget
  527.     --------------------
  528.     It consists of one proportional gadget (I'm very proud of this, because
  529.     it was my first ever)  and two little arrows  at the bottom. It's  main
  530.     function is  to scroll  through  the bootblock  dump displayed  in  the
  531.     window. This is  only needed  when displaying hex  dump, because  ascii
  532.     dump fits in the window anyway.
  533.  
  534.     6. Quit
  535.     -------
  536.     Ahh, what was it?? Yes, you can leave the boot lab with this gadget.
  537.  
  538.     7. Load
  539.     -------
  540.     Here  you  can  load  a  bootblock  from  a  file  to  the  buffer.   A
  541.     filerequester pops up  were you  have to select  the file  you want  to
  542.     load. The bootblock will only be loaded to the buffer, not installed on
  543.     disk.                                                                  
  544.  
  545.     8. Save
  546.     -------
  547.     Counterpart of 'Load' which saves a  bootblock as a file. Nothing  more
  548.     to say,  because  it  works  exactly the  same  as  'Load'.  These  two
  549.     functions are useful for making bootblock backups of games, demos  etc.
  550.     If the buffer is empty, the gadget is disabled.
  551.  
  552.     9. Read
  553.     -------
  554.     Reads the bootblock of the currently  selected disk to the buffer.  Now
  555.     you can watch, save or print it.
  556.  
  557.     10. Write
  558.     --------
  559.     Writes the buffer contents to  the bootblock of the currently  selected
  560.     disk. Only  use  this if  you  know what  you  are actually  doing.  An
  561.     overwritten bootblock cannot be  restored in any  way. An empty  buffer
  562.     cannot be written, gadget is disabled.
  563.  
  564.     11. Print
  565.     ---------
  566.     Prints the dump of a bootblock.  Make sure that your printer is  online
  567.     or you will have  to wait for  this silly system  request for appr.  30
  568.     seconds. This  function  always  prints  the  bootblock  dump  you  can
  569.     currently see in  the window. If  nothing was loaded,  nothing will  be
  570.     printed, the gadget is disabled then.                                                               
  571.  
  572.     12. Install
  573.     -----------
  574.     Installs the bootblock selected in  the settings menu to the  currently
  575.     selected disk. Same as 'Write', you should only install disks when  you
  576.     know that they will still work afterwards.
  577.  
  578.     13. Settings Menu
  579.     -----------------
  580.     Here you can configure all important parts of the bootblock lab as  you
  581.     like. Note that this menu supports multi-select (hold right button  and
  582.     select items with the left button).
  583.  
  584.     FastFileSystem BB: If enabled, the 'Install' command will install a
  585.                        FFS bootblock (0x444f5301), otherwise you will get
  586.                        a normal OFS bootblock (0x444f5300).
  587.  
  588.     Uninstalled BB:    If enabled, VirusZ will write an uninstalled bootblock
  589.                        to the disk. This disk will no longer boot after a
  590.                        reset, but works the same as before from Shell and
  591.                        Workbench. If disabled, a standard OS 2.0 bootblock
  592.                        will be installed. This bootblock works under
  593.                        Kick 1.2/1.3 as well.
  594.  
  595.     Correct CheckSum:  Tells VirusZ to correct the checksum of a bootblock
  596.                        before writing it to disk. If you install a bootblock
  597.                        with a wrong checksum, the disk won't boot after a
  598.                        reset.
  599.  
  600.     Detect DiskChange: If set, the bootblock lab will behave like the main
  601.                        part of VirusZ, i.e. whenever you insert a disk while
  602.                        the bootblock lab is active, it will automatically
  603.                        select this drive and read the bootblock.
  604.  
  605.     Ask Before Action: If enabled, you will get an additional requester asking
  606.                        you if you really want to continue with the selected
  607.                        action. This works with 'Print', 'Write' and 'Install'
  608.                        as these functions can do some harm if wrongly used.
  609.  
  610.     Refresh Devices:   This is not part of the settings. You can refresh the
  611.                        contents of the device gadget here, e.g. after mounting
  612.                        a new drive.
  613.  
  614.                                   PREFERENCES
  615.                                   -----------
  616.  
  617.     1. The Main Idea
  618.     ----------------
  619.     I think everyone of you knows those programs that always look the  same
  620.     and do the same  and you cannot change  anything of their behaviour.  I
  621.     didn't want VirusZ to become the same, so I added this fine preferences
  622.     window.  It was designed having the User Interface Style Guide in mind.
  623.     All gadgets can be toggled via keypad too (see underlined character).
  624.  
  625.     2. Action Gadgets
  626.     -----------------
  627.     These are the three gadgets at  the bottom. 'Use' will cause VirusZ  to
  628.     use the currently  selected settings  only for  this session.  'Cancel'
  629.     ignores all changes made to the  settings. 'Save' saves them to a  file
  630.     called 'VirusZ.prefs'  in your  S:  drawer that  will  be used  on  all
  631.     following startups. Additionally to the options specified in the  prefs
  632.     window, the following will be saved too:
  633.          - the position of VirusZ's main window
  634.          - all settings of the bootblock lab
  635.  
  636.     3. Audible & Visible Alarm
  637.     --------------------------
  638.     This enables/disables the fantastic sound  and screen flash that  warns
  639.     you when a virus has been detected on disk or in memory. Default is on.
  640.  
  641.     4. Install Faked SnoopDos
  642.     ------------------------- 
  643.     This installs/removes a task called SnoopDos (only if the real SnoopDos
  644.     isn't installed) for protection  against PowerPacker 3.2 trojan  horse.
  645.     Fully compatible  to the  real SnoopDos,  the option  doesn't need  any
  646.     processing time since the task is  running at a low priority and  waits
  647.     for a message that never arrives. Default: off.
  648.  
  649.     5. Check Resident Vectors
  650.     -------------------------
  651.     This tells VirusZ whether to check the resident vectors during  startup
  652.     and while running  or not.  Useful if  VirusZ keeps  on reporting  your
  653.     recoverable RAM-disk or harddisk-device  after every reset. Default  is
  654.     off.
  655.  
  656.     6. Report Custom Bootblocks
  657.     ---------------------------
  658.     This will, if enabled, cause  VirusZ to report known custom  bootblocks
  659.     while checking  your  disks. Useful  if  you  want to  find  a  certain
  660.     bootblock and you simply can't remember where it was. Default is off.
  661.  
  662.     7. Check Memory For Viruses
  663.     ---------------------------
  664.     By disabling this  item, you can  tell VirusZ not  to check memory  for
  665.     viruses regularly. This does not  disable the memory check on  startup,
  666.     because it's  still the  main task  of  a virus  checker to  check  for
  667.     viruses :-) Default is on.
  668.  
  669.     8. Detect Disk Changes
  670.     ----------------------
  671.     Toggles the automatic bootblock and disk-validator check on/off. Useful
  672.     if you are working a  whole day with only  two disks that already  have
  673.     been checked and you don't want  to wait until VirusZ has checked  them
  674.     every time you insert them. Default is on.
  675.  
  676.     9. Check Hunks On Startup
  677.     -------------------------
  678.     If you intend to crunch VirusZ with your preferred executable cruncher,
  679.     you'll soon find that VirusZ complains about a modified hunk structure.
  680.     To prevent this complaint, toggle this item off. Default is on.
  681.  
  682.     10. Requesters Follow Mouse
  683.     ---------------------------
  684.     This item offers you the possibility to select what type of  requesters
  685.     should be used for  decisions. If enabled,  the requesters will  appear
  686.     with the  negative response  under the  mouse, if  disabled, they  will
  687.     appear at the top left edge of the screen.
  688.  
  689.     11. Check Drives On Startup
  690.     ---------------------------
  691.     This has been added to prevent  VirusZ from checking all bootblocks  on
  692.     startup. This is especially useful if you have lots of HD partitions or
  693.     if VirusZ has problems with your HD. Default is on.
  694.  
  695.     12. Load Brain On Startup
  696.     -------------------------
  697.     If this item is enabled, VirusZ  tries to load the brainfile  specified
  698.     in the prefs (see below) on startup. Default is off.
  699.  
  700.     13. 'Are You Sure?' Before Exit
  701.     -------------------------------
  702.     This item toggles the verify request that appears when you either close
  703.     the VirusZ window or select Quit on/off. Default is on.
  704.  
  705.     14. Check Disk-Validator
  706.     ------------------------
  707.     Here you can switch  on/off  the automatic Disk-Validator check that is
  708.     executed whenever a new disk has been inserted. Default is on.
  709.  
  710.     15. Memory Check Repeat Delay
  711.     -----------------------------
  712.     Click on the Get gadget and a request appears. Here you may change  the
  713.     delay between two memory checks. Any value between 2 and 120 seconds is
  714.     valid, others will be rejected. Default is 10 seconds.
  715.  
  716.     16. Window Y-Sizes
  717.     ------------------
  718.     There are three items labeled '... Y-Size'. You can enter the amount of
  719.     text lines that should be  displayed in the respective windows.  Useful
  720.     on lace screens (slow scrolling) or if you don't want VirusZ to use the
  721.     whole screen for the display. Enter a value that is too big to set  the
  722.     windows to their full sizes. Use the Get gadgets to enter new values.
  723.     Defaults to 199.
  724.  
  725.     17. Bootblock Brainfile
  726.     -----------------------
  727.     Enter the full path  and filename of the  default brainfile here.  This
  728.     name is used by Load Brain and on startup if the respecting prefs  item
  729.     is enabled. Default is 'S:VirusZ.brain'.
  730.  
  731.     18. Check Crunched Files
  732.     ------------------------
  733.     This enables/disables the outstanding mega-feature of decrunching files
  734.     for virus checking. Note that you need 'decrunch.library' in your  libs
  735.     drawer if you intend to use this. Default is off.
  736.  
  737.     19. Skip Subdirectories
  738.     -----------------------
  739.     Tells the file checker  not to check subdirs.  Useful for checking  the
  740.     root directory of a harddisk :-) Default is off.
  741.  
  742.     20. Handle Viruses Automatically
  743.     --------------------------------
  744.     If this  option is  set, you  will not  see any  requesters asking  you
  745.     whether to repair an  infected file or not,  VirusZ will always try  to
  746.     remove viruses at once.  You should enable the  file report if you  use
  747.     this feature so you  can see what  happened while checking  afterwards.
  748.     Default is off.
  749.  
  750.     21. Create File Report
  751.     ----------------------
  752.     If enabled, VirusZ  captures all  text output  during file  check to  a
  753.     buffer. You can  save this  buffer after  the file  check is  finished.
  754.     Default is off.
  755.  
  756.  
  757.                                  SPECIAL NOTES
  758.                                  -------------
  759.  
  760.     1. New Viruses And Packers
  761.     --------------------------
  762.     Although VirusZ recognizes lots of viruses both in memory and on  disk,
  763.     this is  NOT  enough  until  also the  very  last  virus  is  included.
  764.     If you ever get a new virus, do not delete it before sending me a copy.
  765.     Don't forget: I can  only help you in  your fight against these  little
  766.     bastards if you support me with  all the necessary material. Killing  a
  767.     virus without knowing how it  works is impossible. Additionally to  new
  768.     viruses I'm  always  searching  for  new  crunchers  for  inclusion  in
  769.     'decrunch.library'.
  770.  
  771.     2. Bugs
  772.     -------
  773.     VirusZ has been  tested on Kick  1.3, OS  2.0 and OS  2.1 (Locale)  and
  774.     worked just fine. If you nevertheless find a bug, please don't wait for
  775.     better days, but send me a detailed description (if possible) including
  776.     your system's configuration and when and  how the bug appears. You  can
  777.     find some information about your  hardware configuration in the  vector
  778.     check. If VirusZ crashes in connection with other software, I would  be
  779.     glad if you send me a copy  of these programs (if the copyright  allows
  780.     it). Please  DO NOT  report things  that  I can't  repeat on  my  Amiga
  781.     without a detailed description of the circumstances.
  782.  
  783.     3. Enforcer Hits
  784.     ----------------
  785.     This program is made for virus killing. For this reason it has to check
  786.     all those memory locations used by viruses, amongst them the interrupts
  787.     table of the CPU. This certainly causes enforcer hits, but it obviously
  788.     is better to find the virus than not to have an enforcer hit, isn't it?
  789.     By the way, all hits are completely harmless.
  790.  
  791.     4. Known Problems
  792.     -----------------
  793.     VirusZ as a program works fine with Kickstart 33.166 (old 1.2), but the
  794.     memory check  routines  will  sometimes restore  wrong  pointers  while
  795.     removing viruses. As this  Kickstart was only  shipped with A1000,  and
  796.     most of the A1000 users have  Kick 1.3  or at least  Kick 1.2  (33.180)
  797.     which work fine, I don't see this as a great problem.
  798.  
  799.  
  800.                                   APPENDIXES
  801.                                   ----------
  802.  
  803.     1. Viruses In Memory
  804.     --------------------
  805.     All viruses mentioned in the 'Brain.doc' will be removed properly  from
  806.     memory (as far as  they install themselves in  memory). But not all  of
  807.     them  will  be  recognized  by  name.  This  is  because  some   clones
  808.     (especially SCA clones) can  be detected and killed  all the same  way.
  809.     Including a routine to get their real names as an addition would  cause
  810.     the memory checking routines  to get more than  twice as large as  they
  811.     are now. And that's not worth it.
  812.  
  813.     2. Utilities In Memory
  814.     ----------------------
  815.     Since VirusZ only kills what it knows in memory, it's not necessary  to
  816.     add all the resident utilities like RAD:, VD0:, ZKick etc. If you  ever
  817.     have problems with these (it's not very likely that VirusZ thinks these
  818.     might be viruses), let me know and I'll fix it.
  819.  
  820.     3. Special Thanks
  821.     -----------------
  822.     There are several people I wish to thank for their VirusZ support:
  823.  
  824.     Ralf Thanner                    what more should I say??
  825.     Control / Alcatraz              nice logo and other support
  826.     Axel Folley                     moral and financial support :-)
  827.     Steve / Silicon Designs 3003    always some new viruses and packers
  828.     Flake / D-Tect                  nice letters and viruses
  829.     Holger Wessling                 always some new ideas
  830.     Terminator / Destiny UK         bootblocks and long letters
  831.     Martin Odaischi                 always some new viruses
  832.     Heinz Lindner                   resident tools and new Kickstarts
  833.     Markus Stiebeling               several bug reports and hints
  834.     Rüdiger Prang                   nice patches and TEX-Docs
  835.  
  836.     and several other supporters that have contacted me in the past
  837.     and of course all users who already paid their shareware fee.
  838.  
  839.     4. Some Kind Of Parody
  840.     ----------------------
  841.     Control's logo is much better, that's why it is at the top and this  is
  842.     at the bottom. But as I got this one for the last release, I wanted  to
  843.     include it anyway...
  844.  
  845.             ___             __
  846.   ___      /. /         __ |._|______________    » ThE BeSt MoNeY CaN BuY «
  847.   \. \    // /  ______ |. |||\___________ . /   
  848.    \\ \  // /_>|.  _. \|| ||| |/.  _____// /  · KeWl CoDeR, KeWl RoUtInEs
  849.     \\ \// /__ || |_>> >| ||| <<  <__  // /     · o-5 YeArS ViRuZeZ
  850.      \\ ' /|. |||  .  /|| ||| |\__.  \// /        · RuNnInG oN 68o7o/99MHz
  851.       \\ / || ||| |\\ \|` `'__|___>> // / 3.o5      · NiCe ShArEwArE FeEs
  852.        \/  |__||| | \\ \\___\_______// /__________    · AlWaYs LaTeSt BrAiN
  853.            ThE |__|  \\ \ UlTiMaTe /______________\     · AuToDeCrUnCh FiLeS
  854.                       \__\           ViRuS KiLLeR
  855.  
  856.         !¡! WhErE WoNdErS CoMe TrUe AnD ThE ViRuZeZ CoMmIt SuIcIdE !¡!
  857.                                                                           !TML!
  858.